home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-27 | 4.1 KB | 179 lines |
- 10 'AIRCORE - 05 SEP 92 rev. 13 MAY 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
- 40 COMMON EX$,PROG$,U,LX
- 50 CLS:KEY OFF
- 60 COLOR 7,0,1
- 70 T$=" BARKER & WILLIAMSON AIR-CORE INDUCTORS "
- 80 U1$="#######"
- 90 U2$="######.##"
- 100 U3$="#######.#"
- 110 UL$=STRING$(80,205)
- 120 DIM A(36,5)
- 130 FOR Z=1 TO 36 'load data
- 140 A(Z,1)=3000+Z
- 150 FOR C=2 TO 5
- 160 READ A(Z,C)
- 170 NEXT C
- 180 NEXT Z
- 190 '
- 200 '.....start
- 210 COLOR 15,2:PRINT T$;TAB(56);" by George Murphy VE3ERP ";
- 220 COLOR 1,0:PRINT STRING$(80,223);
- 230 COLOR 7,0
- 240 IF U THEN 680
- 250 PRINT " Press number in < > to:
- 260 PRINT UL$;
- 270 PRINT " < 1 > VIEW B & W catalog of air-core inductors"
- 280 PRINT " < 2 > SELECT an inductor from the catalog"
- 290 PRINT UL$;
- 300 PRINT " < 0 > EXIT
- 310 Z$=INKEY$
- 320 IF Z$="0"THEN CLS:CHAIN GO$
- 330 IF Z$="1"THEN 370
- 340 IF Z$="2"THEN 640
- 350 GOTO 310
- 360 '
- 370 '.....catalog
- 380 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 390 COLOR 7,0
- 400 LOCATE CSRLIN-1,41:PRINT "OPEN"
- 410 T1$=" Cat. Dia. Turns Lgth. "
- 420 T2$=" No. (in.) per in. (in.) AWG"
- 430 PRINT T1$;TAB(41);"OPEN";T1$
- 440 PRINT T2$;TAB(41);"OPEN";T2$
- 450 PRINT UL$;:LOCATE CSRLIN-1,41:PRINT "TAB("
- 460 FOR Z=1 TO 18
- 470 PRINT USING U1$;A(Z,1);
- 480 PRINT USING U2$;A(Z,2);
- 490 FOR Y=3 TO 5:PRINT USING U1$;A(Z,Y);:NEXT Y
- 500 '
- 510 PRINT TAB(41);"OPEN";
- 520 '
- 530 IF A(Z+18,2)=0 THEN 570
- 540 PRINT USING U1$;A(Z+18,1);
- 550 PRINT USING U2$;A(Z+18,2);
- 560 FOR Y=3 TO 5:PRINT USING U1$;A(Z+18,Y);:NEXT Y
- 570 PRINT ""
- 580 NEXT Z
- 590 PRINT UL$;
- 600 LOCATE 24,41:PRINT "LOCATE";
- 610 GOSUB 1660
- 620 CLS:GOTO 200
- 630 '
- 640 '.....select inductor
- 650 VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
- 660 COLOR 0,7
- 670 INPUT " ENTER: Desired inductance (>H)";U
- 680 COLOR 7,0
- 690 IF MK THEN 780
- 700 PRINT
- 710 PRINT " Press <ENTER> if you don't want any particular wire size ";
- 720 PRINT "hi-lited, otherwise"
- 730 IF MK=0 THEN 750
- 740 PRINT "coils are wound with #";MK;"AWG wire."
- 750 COLOR 0,7:PRINT
- 760 INPUT " ENTER: Desired wire size (AWG)";MK
- 770 COLOR 7,0
- 780 CLS
- 790 U=INT(U*1000+0.5)/1000 'round-off to 3 decimal places
- 800 PRINT TAB(6);" All the following B&W Coils have an inductance of";
- 810 COLOR 15,4:PRINT U;">H."
- 820 COLOR 14,0
- 830 PRINT TAB(6);" Yellow Hi-Lited";
- 840 COLOR 7,0
- 850 PRINT " coils have a length-to-diameter ratio of 2:1 or less."
- 860 IF MK=0 THEN COLOR 7,0:PRINT:GOTO 900
- 870 COLOR 0,7
- 880 LOCATE CSRLIN,6:PRINT " Reverse Printed ";
- 890 COLOR 7,0:PRINT " coils are wound with AWG#";MK;"wire."
- 900 T1$=" Dia. Turns No.of Lgth. "
- 910 T2$="Cat.# (in.) /in. turns (in.) AWG"
- 920 PRINT T1$;" OPEN ";T1$
- 930 PRINT T2$;" OPEN ";T2$
- 940 PRINT UL$;
- 950 LOCATE CSRLIN-1,40:PRINT "TAB("
- 960 FOR Z=1 TO 36
- 970 CAT=A(Z,1) 'cat.no.
- 980 R=A(Z,2)/2 'radius
- 990 IF R=0 THEN 1210
- 1000 T=A(Z,3) 'turns per inch
- 1010 Q=R^2*T^2/U 'temporary factor
- 1020 L=ABS(-10-SQR(100+36*R*Q))/2/Q 'length
- 1030 N=L*T 'no.of turns
- 1040 G=A(Z,5) 'AWG size
- 1050 IF Z<=18 THEN I=Z+6 ELSE I=Z-12
- 1060 IF Z<=18 THEN J=1 ELSE J=44
- 1070 LOCATE I,J
- 1080 X=7:Y=0
- 1090 IF G=MK THEN X=0:Y=7
- 1100 IF U AND (L<=(4*R)) THEN X=14
- 1110 COLOR X,Y
- 1120 PRINT CAT; 'catalog no.
- 1130 PRINT USING "##.##";R*2; 'diameter
- 1140 PRINT USING "#####";T; 'turns per inch
- 1150 PRINT USING "######.#";N; 'number of turns
- 1160 PRINT USING "####.##";L; 'length of coil
- 1170 PRINT USING "#####";G; 'AWG size
- 1180 IF Z<18 THEN PRINT ""
- 1190 COLOR 7,0
- 1200 IF Z<=18 THEN LOCATE CSRLIN-1,40:PRINT "OPEN"
- 1210 NEXT Z
- 1220 LOCATE 24,40:PRINT "OPEN";
- 1230 GOSUB 1660
- 1240 IF EX$<>GO$ THEN CLS:CHAIN GO$
- 1250 CLS:U=0:MK=0:GOTO 200
- 1260 END
- 1270 '
- 1280 DATA .5,4,2,18
- 1290 DATA .5,8,2,18
- 1300 DATA .5,16,2,20
- 1310 DATA .5,32,2,24
- 1320 DATA .625,4,2,16
- 1330 DATA .625,8,2,18
- 1340 DATA .625,16,2,20
- 1350 DATA .625,32,2,24
- 1360 DATA .75,4,3,16
- 1370 DATA .75,8,3,18
- 1380 DATA .75,16,3,20
- 1390 DATA .75,32,3,24
- 1400 DATA 1,4,3,16
- 1410 DATA 1,8,3,18
- 1420 DATA 1,16,3,20
- 1430 DATA 1,32,3,24
- 1440 DATA 1.25,4,4,14
- 1450 DATA 1.25,8,4,16
- 1460 DATA 1.25,16,4,18
- 1470 DATA 1.25,32,4,24
- 1480 DATA 1.75,4,4,14
- 1490 DATA 1.75,8,4,14
- 1500 DATA 1.75,16,4,18
- 1510 DATA 1.75,32,4,24
- 1520 DATA 2,6,10,12
- 1530 DATA 2,8,10,14
- 1540 DATA 2,10,10,16
- 1550 DATA 0,0,0,0
- 1560 DATA 2.5,6,10,12
- 1570 DATA 2.5,8,10,14
- 1580 DATA 2.5,10,10,16
- 1590 DATA 0,0,0,0
- 1600 DATA 3,6,10,12
- 1610 DATA 3,8,10,14
- 1620 DATA 3,10,10,16
- 1630 DATA 0,0,0,0
- 1640 END
- 1650 '
- 1660 'HARDCOPY
- 1670 GOSUB 1780:LOCATE 25,2:COLOR 14,6
- 1680 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1690 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1700 Z$=INKEY$:IF Z$="3"THEN GOSUB 1780:RETURN
- 1710 IF Z$="1"OR Z$="2"THEN GOSUB 1780:GOTO 1730
- 1720 GOTO 1700
- 1730 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1740 LPRINT CHR$(SCREEN(QX,QY));
- 1750 NEXT QY:NEXT QX
- 1760 IF Z$="2"THEN LPRINT CHR$(12)
- 1770 GOTO 1670
- 1780 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-